package controller.gui.mapstratamenu;

import java.awt.event.ActionEvent;

import javax.swing.JButton;

import gui.StrataOverviewPanel;
import gui.secondary.StrataSecondaryMenu;
import controller.StrataNumberUser;
import controller.StratumLevelUser;
import controller.gui.OKButtonController;

/**rappresenta il controller che esegue la richiesta di aggiunta strato nella mappa
 * 
 * @author koldar
 * @version 1.0
 */
public final class MapStrataAddAfterCurrentController extends OKButtonController<StrataSecondaryMenu> implements StratumLevelUser,StrataNumberUser{
	
	
	public MapStrataAddAfterCurrentController(JButton button,StrataSecondaryMenu secondaryPanel) {
		super(button, secondaryPanel);
	}

	@Override
	public boolean isParametersCorrect() {
		return true;
	}
	
	/**in caso in cui ci sia uno strato corrente aggiunge lo strato tra lo stratum corrente altrimenti
	 * crea un primo strato
	 * 
	 */
	@Override
	public void executeOtherInstruction(ActionEvent arg0) {
		super.executeOtherInstruction(arg0);
		if (((this.stratum.getValue()+1)<=this.totalStrata.getValue())&&(this.stratum.getValue()!=this.NOCURRENTSTRATUM)){
			this.currentmap.addStratum(this.stratum.getValue()+1);
		}else{
			this.currentmap.addStratum();
			this.stratum.setValue(0);
		}
		this.totalStrata.setValue(this.currentmap.getStratiSize());
	}
	
	

}
